//将正常的数组转为插孔数组的函数方法，输出的结果为所有插空后的数组
export function insertZerosByControl(base, control) {
    const expanded = [];

    // Step 1: 展开 base 数组成连续 1，添加 0 间隔
    for (let i = 0; i < base.length; i++) {
        for (let j = 0; j < base[i]; j++) {
            expanded.push(1);
        }
        // 添加间隔 0（除最后一项）
        if (i < base.length - 1) {
            expanded.push(0);
        }
    }

    const result = [];
    for (let i = 0; i <= base.length; i++) {
        // 插入控制的 0
        if (i < control.length && control[i] > 0) {
            for (let j = 0; j < control[i]; j++) {
                result.push(0);
            }
        }

        // 插入对应 base 的部分
        if (i < base.length) {
            for (let j = 0; j < base[i]; j++) {
                result.push(1);
            }
            if (i < base.length - 1) {
                result.push(0);
            }
        }
    }

    return result;
}
